Skip to content

Add Debian Bookworm x64 sanity build CI workflow#83

Draft
Copilot wants to merge 10 commits intomainfrom
copilot/create-sanity-build-debian
Draft

Add Debian Bookworm x64 sanity build CI workflow#83
Copilot wants to merge 10 commits intomainfrom
copilot/create-sanity-build-debian

Conversation

Copy link

Copilot AI commented Mar 20, 2026

Adds a GitHub Actions workflow to sanity-check compilation across all supported (non-deprecated) hardware configurations on Debian Bookworm x64.

Workflow design

  • Single job, sequential hardware configs — reuses the CMake build directory across configs so third-party libs (LASzip, Livox SDK2) compile once; subsequent configs only rebuild changed translation units
  • Container: debian:bookworm on ubuntu-latest
  • Triggers: push to main, pull requests

Hardware configs covered

Header Target
mandeye-standard-rpi4.h Raspberry Pi 4
mandeye-standard-rpi5.h Raspberry Pi 5
mandeye-pro-cm4-bookworm.h CM4 + carrier board
mandeye-direct-cm5.h CM5 + carrier board

mandeye-pro-cm4-bullseye.h (deprecated) is intentionally excluded.

Notes

  • No release artifacts — sanity build only
  • GITHUB_TOKEN scoped to contents: read
Original prompt

This section details on the original issue you should resolve

<issue_title>Create sanity build for all supported platoforms on x64</issue_title>
<issue_description>Please create a sanity builder that will build on Debian Bookworm this project (iterate listed, supported devices).</issue_description>

<agent_instructions>- do not make any relase- it is sanity build

  • build 1 hardware config than change and rebuild (to save time).
  • do not chnage code for failed jobs.
    </agent_instructions>

Comments on the Issue (you are @copilot in this section)


💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.

Copilot AI and others added 2 commits March 20, 2026 05:02
Co-authored-by: michalpelka <3209244+michalpelka@users.noreply.github.com>
…ions

Co-authored-by: michalpelka <3209244+michalpelka@users.noreply.github.com>
Copilot AI changed the title [WIP] Create sanity build for all supported platforms on x64 Add Debian Bookworm x64 sanity build CI workflow Mar 20, 2026
Copilot AI requested a review from michalpelka March 20, 2026 05:05
@michalpelka
Copy link
Collaborator

sudo update-ca-certificates
or export GIT_SSL_NO_VERIFY=1

@michalpelka
Copy link
Collaborator

@copilot please add :
sudo update-ca-certificates
or export GIT_SSL_NO_VERIFY=1

Co-authored-by: michalpelka <3209244+michalpelka@users.noreply.github.com>
Copy link
Author

Copilot AI commented Mar 20, 2026

@copilot please add :
sudo update-ca-certificates
or export GIT_SSL_NO_VERIFY=1

Done in commit 00f249b. Added ca-certificates to the apt install list and run update-ca-certificates before the checkout step so submodule fetching works with valid SSL certs in the Bookworm container.

@michalpelka
Copy link
Collaborator

@copilot can we skip tihs sdk-extensions?

Copy link
Author

Copilot AI commented Mar 20, 2026

@copilot can we skip tihs sdk-extensions?

Done in commit e5c168c. Changed submodules: recursive to submodules: true — this fetches only top-level submodules and skips the nested sdk-extensions submodule inside ouster-sdk (which was failing because https://github.com/ouster-lidar/sdk-extensions.git is not publicly accessible). Since MANDEYE_USE_OUSTER_SDK is OFF by default, we don't need its nested submodules.

@michalpelka
Copy link
Collaborator

@copilot - forgot install packages

Copy link
Author

Copilot AI commented Mar 21, 2026

@copilot - forgot install packages

Done in commit 0ecfbbb. Added nlohmann-json3-dev to the apt install list — the build was failing with fatal error: nlohmann/json.hpp: No such file or directory from code/gpios.h.

@michalpelka
Copy link
Collaborator

@copilot, please try to fix c++ errors

…enum, GetGPIOChip namespace, syncOuts typo)

Co-authored-by: michalpelka <3209244+michalpelka@users.noreply.github.com>
Agent-Logs-Url: https://github.com/JanuszBedkowski/mandeye_controller/sessions/12562d35-d779-477a-be80-8ea33df512c2
Copy link
Author

Copilot AI commented Mar 21, 2026

@copilot, please try to fix c++ errors

Done in commit 3950539. Fixed the following C++ errors:

  • code/state.h: added #include <string>std::string was used in StatesToString without the header
  • code/hardware_config/hardware_common.h: fixed circular include — #include "gpios.h" was placed before the hardware and GPIO namespace definitions, so gpios.h couldn't see those types when #pragma once blocked re-inclusion; moved it to after the definitions
  • code/hardware_config/hardware_common.h: added LIDAR_SYNC_1/LIDAR_SYNC_2 to LED enum — referenced in mandeye-standard-rpi4.h but missing from the base enum
  • code/gpios.cpp, code/fake_pps.cpp, extras/FakePPS/main.cpp: mandeye::GetGPIOChip()hardware::GetGPIOChip() — function is in namespace hardware, not namespace mandeye
  • code/fake_pps.cpp: syncOuts.size()syncOutsLines.size() — undeclared variable

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Create sanity build for all supported platoforms on x64

2 participants